package cn.com.springsource.dao.jdkProxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

public class LuBanInvocationHandler implements InvocationHandler {

    /**
     * 目标对象
     */
    Object obj;
    public LuBanInvocationHandler(Object obj) {
        this.obj = obj;
    }

    /**
     * invoke 代理增强方法
     * @param proxy  代理对象
     * @param method  目标方法
     * @param args      目标方法的参数
     * @return
     * @throws Throwable
     */
    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        System.out.println("LubanInvocationHandler jdk 动态代理");
        return method.invoke(obj, args);
    }
}
